Version Française English Version

Planète Casio - Programmes, jeux et cours pour calculatrices Casio

Bookmark and Share
Bienvenue sur Planète Casio, n'hésitez pas à poser vos questions sur le forum, et pensez à rejoindre Planète Casio sur Facebook !
Spaceraider
Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | [Cherche volontaires] Reverse-engineering de la ROM des G85.
Kristaba
Hors ligne
Membre
Niveau: Vétéran
Points: 583
Défis: 22
Email | Message
Posté le 09/09/2010 00:44

[Cherche volontaires] Reverse-engineering de la ROM des G85.:

Bonjour à tous les casiophiles casionautes!

Voilà, dans le cadre d'un projet dans lequel j'ai besoin d'utiliser des I/O de fichiers, je me suis rappelé qu'il y a déjà un bout de temps, j'avais envisagé de faire du reverse-engineering sur le système de fichier internes des G75-85(SD)-95.

Du coup je suis motivé pour au moins commencer à m'attaquer au problème : analyser des images de la ROM des calto pour repérer les adresses importantes, la structure du système de fichier, etc...

Seulement, voilà, j'ai besoin d'un grand échantillonnage pour pouvoir être assurer (statistiquement tout de moins ) de la véracité des infos que j'arrive à déduire.
En effet, certains paramètres pourraient faire varier la position et la structure des informations (version de l'OS, encombrement de la mémoire, modèle, etc...)!

Donc voilà : I need YOU! (tm)
J'explique le principe : j'ai fait un petit programme qui va dumper (copier byte-à-byte) votre mémoire (promis s'pas douloureux ).
Après l'avoir utilisé, il suffit de m'envoyer les fichiers qu'il a généré en indiquant les informations importantes (modèle de calto, version de l'OS, et si vous avez optimisé la mémoire juste avant ou non) et je pourrais analyser ça bien au chaud chez moi
Donc pour m'aider, il suffit :
1) D'avoir un modèle disposant d'une carte SD
2) D'en insérer une avec plus de 4.5Mio de libre
3) De télécharger le fichier joint, et de le lancer depuis la calto.
4) De me passer les fichiers ROM88.DMP et ROMA0.DMP

Voilà, bon j'ai pas besoin de 50 volontaires non plus, mais si quelques personnes pouvaient prendre le temps de faire ça ça m'aiderais vraiment
Pis ça vous prendra moins de temps que d'avoir lu la totalité de mon post en plus

Fichier joint

Une bataille navale avec Intelligence Artificielle sur Graph 35?
C'est ICI !

Projets en cours :
*CGUI++, Une GUI C++ multi-plateforme conçue pour fonctionner sur calculatrices.
*Tiles Creator, un environnement de création et gestion de ressources graphiques.




Gigaman
Hors ligne
Membre
Niveau: Vétéran
Points: 801
Défis: 9
Email | Message
Citer : Posté le 09/09/2010 07:13 |
allez je me dévoue !

modèle : graph 95
OS : 02.00.2200
mémoire non optimisée avant.

les fichiers ROM88.DMP et ROMA0.DMP sont trop gros pour passer en fichier joint, tu veux que je te les passe comment ?

----------------------------------
Time to wake up
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4401
Défis: 29
Email | Message
Citer : Posté le 09/09/2010 16:19 |
Megaupload par exemple
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Gigaman
Hors ligne
Membre
Niveau: Vétéran
Points: 801
Défis: 9
Email | Message
Citer : Posté le 09/09/2010 16:53 |
heu désolé je connais que de nom , comment ça marche ?
----------------------------------
Time to wake up
Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 7892
Défis: 66
Email | Message
Citer : Posté le 09/09/2010 17:10 |
Je demanderai la carte SD à LS
----------------------------------
PRGM 2 // Tout savoir sur sa Casio

Master 1 Aménagement du territoire - Mobilités Spatiales - (spécialité) Transports

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Eiyeron
Hors ligne
Modérateur
Niveau: Confirmé
Points: 3483
Défis: 37
Email | Message
Citer : Posté le 09/09/2010 18:26 |
SI tu veux 100+... Ich bin hier!
TU vuex faire un ému?
----------------------------------
smileysmileysmiley
smileysmiley
Kristaba
Hors ligne
Membre
Niveau: Vétéran
Points: 583
Défis: 22
Email | Message
Citer : Posté le 09/09/2010 19:49 |
Gigaman : Bah, pas compliqué, tu compresses les deux fichiers (pour pas avoir à faire deux uploads), tu te rends sur http://www.megaupload.com , tu indiques le fichier à envoyer, une brève description, tu fais Envoyer et t'as plus qu'à me donner le lien qu'il affiche

Totoyo : Merci d'avance

Eiyeron : Nan, le fs des G100+ est probablement différent (sûrement du bête FAT 16), ce n'est pas ce qui m'intéresses
Ce n'est pas pour faire un émulateur, mais simplement pour comprendre comment est structuré le système de fichier des G85 & co, et éventuellement pour créer par la suite des fonctions de la lib standard C de manipulation des fichiers (car pour l'instant la manipulation de fichier se fait via les fonctions du SDK qui ne sont pas évidentes quand on est habitué à la lib standard ).
----------------------------------
Une bataille navale avec Intelligence Artificielle sur Graph 35?
C'est ICI !

Projets en cours :
*CGUI++, Une GUI C++ multi-plateforme conçue pour fonctionner sur calculatrices.
*Tiles Creator, un environnement de création et gestion de ressources graphiques.
Gigaman
Hors ligne
Membre
Niveau: Vétéran
Points: 801
Défis: 9
Email | Message
Citer : Posté le 10/09/2010 05:57 |
c'est bon c'est fait :

lien megaupload
----------------------------------
Time to wake up
Kristaba
Hors ligne
Membre
Niveau: Vétéran
Points: 583
Défis: 22
Email | Message
Citer : Posté le 11/09/2010 03:24 | Fichier joint
Merci beaucoup Gigaman
Grace à tes fichiers j'ai pû vérifier un grand nombre de chose dont je n'étais pas sûr qu'elles étaient similaires entre les différents OS

Donc j'y ai passé 3 grosses soirées, et pas mal réfléchi à ça en cours (faut bien que ça serve le bahut quoi ), j'avoue que j'ai largement dépassé mes espérances de départ
J'ai compris pratiquement tout le File System (FS) Casio (il me manque quelques octets que je n'ai pas observé varier, mais si je récupère quelques autres dump je pense que je pourrais m'en sortir )!
En tous cas je parviens à retrouver le nom, les différents fragments, leur taille respective, leur adresse dans la ROM, l'ID interne du fichier, si ils ont étés supprimés ou non, reconnaître les répertoires, trouver le répertoire parent d'un fichier ou d'un répertoire, et j'ai à peu près compris le système de "pagination" (si on peu appeler ça comme ça) du FS.

Bref, je pensais pas aller aussi vite, j'ai même eu le temps ce soir de faire une première application de lecture de l'index des fichiers (nom, taille, etc...) en utilisant les flèches gauche/droite pour changer de fichier !
Je met ça en fichier joint, au cas où quelqu'un ait l'envie de le tester ou de regarder les sources
J'ai aussi mis un petit fichier texte qui m'a permis de prendre quelques notes lors de mon analyse de la ROM (le fichier est loin d'être complet, mais il y a quelques éléments de doc dedans), en attendant de faire un fichier de documentation exhaustive, un de ces jours peut-être

Voilà, même si le but final est encore loin, je suis très confiant au niveau de la lecture au moins, et si quelques uns d'entre vous ont le temps de tester ce petit programme pour vérifier qu'il fonctionne correctement et/ou de m'envoyer des dump pour que je regarde ça, ça m'aiderait vraiment dans ma tâche

Sur ce, bonne journée à tous
----------------------------------
Une bataille navale avec Intelligence Artificielle sur Graph 35?
C'est ICI !

Projets en cours :
*CGUI++, Une GUI C++ multi-plateforme conçue pour fonctionner sur calculatrices.
*Tiles Creator, un environnement de création et gestion de ressources graphiques.
Gigaman
Hors ligne
Membre
Niveau: Vétéran
Points: 801
Défis: 9
Email | Message
Citer : Posté le 11/09/2010 20:59 |
le programme de lecture est très intéressant, il affiche les add ins ajoutés mais aussi ceux supprimés ainsi que les programmes basic supprimés, ceux ci sont stockés dans [del] [root]


byzarrement, les programmes basic non supprimés ne sont pas visibles, je pense qu'ils passent sur la mémoire de stockage quand on les supprime.

ton petit addin ne permet que de voir les fichiers de la mémoire de stockage.


pour les enlever définitivement il suffit de l'optimiser

mais bon, si tu arrives à les lire, tu dois pouvoir être capable de les restaurer !
ce serait une idée de programme intéressante, il m'est déjà arrivé de supprimer des programmes sans le vouloir, et de ne pas les avoir sauvegardés ailleurs et ça c'est pas cool

j'ai hate de voir la suite, tiens nous au courant si tu as du nouveau
----------------------------------
Time to wake up
Kristaba
Hors ligne
Membre
Niveau: Vétéran
Points: 583
Défis: 22
Email | Message
Citer : Posté le 11/09/2010 21:59 |
Merci pour les encouragements et les retours

Donc pour les programmes Basic, ils ne sont pas sur la mémoire de stockage, ils sont sur la RAM (et là c'est encore un autre système de fichiers qui est en place, donc cet add-in ne peut pas les voir).
Par contre les .G1M peuvent être stockés à un moment sur la SMEM, ce qui explique que tu les vois

Dans ce système de fichiers, un fichier supprimé est simplement "marqué" supprimé tant que la mémoire n'a pas été optimisée (sont index et ses données sont intactes jusqu'à ce moment), donc en effet, faire un add-in de restauration devrait être assez simple.
Ceci dit, j'ai regardé pas mal de chose et je pense que c'est simplement dû au fait que chez Casio ils sont pas très doués, par ce que rien n'empêche de réécrire par dessus sans pour autant avoir besoin de tout réécrire -_-'
Surtout qu'on attend pas, et en particulier sur une calto, d'avoir des écritures de fichier très rapide, donc quelques ms de plus pour "optimiser" en live à chaque écriture serait le petit geste qui ne coûte rien mais qui rendrait un brin plus propre le système.

Bref, toujours hallucinant de voir qu'ils sont pas foutus d'utiliser correctement leurs propres normes, sérieux...


Bon, les infos du moment : je suis entrain de voir ce que prévoit la norme C99 pour les flux et les fichiers (stdio.h). Je voulais avoir la norme C89, qui semble moins contraignante et plus simple à implémenter, mais impossible de mettre la main sur le document sans payer plusieurs centaines d'euro... Moi qui pensais que l'ANSI mettait gratuitement les standards en ligne xD

Bref, je commence à avoir une bonne idée du travail à faire, même si devoir prévoir différents FS (celui de Casio pour la mémoire de stockage et dans un futur hypothétique le FAT16 pour la carte SD) est un peu chiant à mettre en place, pour l'instant tout va bien
----------------------------------
Une bataille navale avec Intelligence Artificielle sur Graph 35?
C'est ICI !

Projets en cours :
*CGUI++, Une GUI C++ multi-plateforme conçue pour fonctionner sur calculatrices.
*Tiles Creator, un environnement de création et gestion de ressources graphiques.
Ttp
Hors ligne
Membre
Niveau: Débutant
Points: 670
Défis: 18
Email | Message
Citer : Posté le 09/10/2010 12:46 |
Si besoin, voici la mémoire de ma G85 :
-> Casio graph 85 SD
-> OS 01.00.0000
-> non optimisé

lien : Megaupload
----------------------------------
^_^ b01100000
>< double-post
smiley
smiley
smiley
smiley
smiley
G25,65,85SD,CP330
Eiyeron
Hors ligne
Modérateur
Niveau: Confirmé
Points: 3483
Défis: 37
Email | Message
Citer : Posté le 09/10/2010 18:24 |
Kris, le coup de marquage des fichiers supprimés, ça marche aussi chez M$...
----------------------------------
smileysmileysmiley
smileysmiley


Index du Forum | Projets de programmation | [Cherche volontaires] Reverse-engineering de la ROM des G85.
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée.

Un petit test (entrez le résultat en chiffres):
Combien font huit fois quatre ?

Recherche :
Publicité et partenaires

Omnimaga
Casio Education
Casio Éducation
Space-Raider
Space-Raider
GameMaster
GameMasters.fr

Jeux Casio - www.planet-casio.com v3.0 © créé par Neuronix et Muelsaco 2004-2012 | Il y a 17 connectés | Nous contacter | Recherches effectuées
Rugby Manager | Jeu de handball | Jeu de foot | Jeu de rugby | Jeu de tennis | Space raider | Sublinet | Top-cinema, films, cinéma, séries | Pension pour chats

Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd